데이터 타입

✒️ 2025-05-28 15:30 내용 수정


데이터 타입(자료형)


Oracle

1. 정수형 타입

종류 설명
INTEGER 정수 데이터
NUMBER(p) 가변 숫자 데이터
자릿수 인자 p는 1 ~ 38까지며, p만 줄 경우 정수형으로 사용 가능
MySQL 타입 Oracle 타입
TINYINT Number(3)
SMALLINT Number(5)
INTEGER Number(10)
BIGINT Number(19)

2. 소수형 타입

종류 설명
FLOAT 부동 소수점 숫자 데이터
number의 하위 타입으로 자릿수 인자 p는 1 ~ 128이며(기본값 128)이며 이진수 기준
REAL 실수 데이터
DOUBLE PRECISION 높은 정밀도의 부동 소수점 숫자 데이터
NUMBER(p,s) 가변 숫자 데이터로 자주 사용하는 타입
자릿수 인자로 p는 1 ~ 38 까지(기본값은 38)이며, s는 소수점 자릿수 인자로 -84 ~ 127(기본값 0)

3. 문자형 타입

종류 설명
CHAR(n) 고정 길이의 문자열, 속도가 상대적으로 빠름
최대 2000 byte까지 저장하며, 기본값은 1 byte
VARCHAR(n) 가변 길이의 문자열. 최대 길이 지정 필요, 속도가 중간 정도
최대 4000 byte까지 저장하며, 기본값은 1 byte
CLOB 대용량의 문자열 데이터 저장
최대 4 GB까지 저장

4. 날짜 타입(Datetime)

종류 설명
DATE 날짜를 저장. BC 4712년 1월 1일부터 9999년 12월 31일, 연, 월, 일, 시, 분, 초 입력 가능
TIME 시간을 저장. 연도, 월, 일, 시, 분, 초, 밀리초 입력 가능
TIMESTAMP DATE 타입의 확장 버전으로 날짜와 시간을 함께 저장
Oracle 타입 종류 설명
YEAR 년, -4712 ~ 9999, 0 제외)
MONTH 월, 01 ~ 12
DAY 일, 01 ~ 31
HOUR 시간, 00 ~ 23
MINUTE 분, 00~59
SECOND 초, 00~59.9

5. 불리언(Boolean)

종류 설명
BOOLEAN 참(true) 또는 거짓(false)를 저장

6. 이진데이터

종류 설명
BINARY(n) 고정 길이의 이진 데이터
BLOB 대용량의 이진 데이터 저장

7. 기타 타입

종류 설명
JSON JSON 형식의 데이터 저장
XML XML 데이터를 저장

MySQL

1. 정수형 타입

MySQL 타입 종류 설명
TINYINT(n) 매우 작은 정수 데이터, n은 최대 display 너비(255).
범위는 -128 ~ 127이나 0 ~ 255(2^8-1), 1 byte 저장
SMALLINT(n) 작은 범위의 정수 데이터, n은 최대 255까지 가능
범위는 -32768 ~ 32767이나 0 ~ 65535(2^16-1), 2 bytes 저장
MEDIUMINT(n) 중간 범위의 정수 데이터. n은 255까지 가능
범위는 -8388608 ~ 8388607이나 0 ~ 16777215(2^24-1), 3 bytes 저장
INT 4 bytes를 저장할 수 있는 정수 데이터
범위는 -2,147,483,648 ~ 2,147,483,647이나 0 ~4,294,967,295
BIGINT(n) 큰 범위의 정수 데이터. n은 255까지 가능
범위는 -9223372036854775808 ~ 9223372036854775807이나 0 ~ 18446744073709551615(2^64-1)

2. 소수형 타입

MySQL 타입 종류 설명
FLOAT 부동 소수점 숫자 데이터
정밀도 p는 저장 용량을 결정하는데만 사용하며, 0~ 23 정밀도는 4 byte의 단일 정밀도 FLOAT
REAL 부동 소수점 실수 데이터
DOUBLE PRECISION 높은 정밀도의 부동 소수점 숫자 데이터
DECIMAL(M, D) 고정 소수점 숫자 데이터
M은 저장할 자릿수를, D는 소수점 자릿수를 결정
NUMERIC(M, D) 고정 소수점 숫자 데이터으로 DECIMAL을 구현한 타입
M은 저장할 자릿수를, D는 소수점 자릿수를 결정

3. 문자형 타입

종류 설명
CHAR(n) 고정 길이의 문자열, 속도가 상대적으로 빠름
n은 0 ~ 255까지 , 기본값은 1 byte
VARCHAR(n) 가변 길이의 문자열. 최대 길이 지정 필요, 속도가 중간 정도
n은 0 ~ 65535, 기본값은 1 byte
TEXT 가변 길이의 큰 문자열 저장, 속도가 상대적으로 느림
TINYTEXT 최대 길이 255(2^8-1) 길이의 글자까지 저장
MEDIUMTEXT 최대 길이 16,777,215(2^24-1) 길이의 글자까지 저장
LONGTEXT 최대 길이 4,294,967,295(2^32-1) 길이의 글자까지 저장

4. 날짜 타입

종류 설명
DATE 날짜를 저장
TIME 시간을 저장
YEAR 연도를 저장
DATETIME 날짜와 시간을 함께 저장
문자열이나 숫자로 작성한 'YYYY-MM-DD hh:mm:ss' 형식의 값 할당도 지원함
범위는 '1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'
TIMESTAMP 날짜와 시간을 함께 저장
범위는 '1970-01-01 00:00:01' UTC ~ '2038-01-19 03:14:07' UTC
함수 종류 설명
MONTH 월, 1 ~ 12
DAY 일, 1 ~ 31
HOUR 시간, 00 ~ 23
MINUTE 분, 00~59
SECOND 초, 00~59.9

5. 이진 데이터

종류 설명
BINARY(n) 고정 길이의 이진 데이터
VARBINARY(n) 가변 길이의 이진 데이터
BLOB 대용량의 이진 데이터 저장
TINYBLOB 최대 길이 255(2^8-1) 길이의 BLOB 저장
MEDIUMBLOB 최대 길이 16,777,215(2^24-1) 길이의 BLOB 저장
LONGBLOB 최대 길이 4,294,967,295(2^32-1) 길이의 BLOB 저장

6. 열거형과 집합

종류 설명
ENUM(val1, val2, val3...) 가능한 값 목록 중에서 선택한 하나의 값만 가지는 타입, 목록에 65535(2^16-1)개까지 저장 가능
SET(val1, val2, val3...) 가능한 값 목록 중에서 0개 혹은 그 이상의 값을 가질 수 있는 타입. 목록에 최대 64개까지 저장 가능

7. 기타 타입

종류 설명
JSON JSON 형식의 데이터 저장